﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CamadaDados;

namespace CasaisEmEdificacao.Gerenciador.galeria
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var util = new Util.AlertaCliente();

                if (Request["Msn"] != null)
                {

                    lblMensagem.Text = util.MensagemCliente(Convert.ToInt32(Request["Msn"].ToString()));
                    lblMensagem.Visible = true;
                }
                
                CarregarGalerias();
            }
            else
            {
                lblMensagem.Visible = false;
            }
        }

        public void CarregarGalerias()
        {
            var metGaleria = new CamadaDados.galeria();
            grdGaleria.DataSource = metGaleria.ListarGalerias();
            grdGaleria.DataBind();
        }

        protected void grdGaleria_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string acao = e.CommandName.ToString();
            string strCodGaleria = e.CommandArgument.ToString();
            var util = new Util.AlertaCliente();
            var metGaleria = new CamadaDados.galeria();

            switch (acao)
            {
                case "Editar":
                    Response.Redirect("~/Gerenciador/galeria/formGaleira.aspx?codGaleria=" + strCodGaleria);
                    break;

                case "Imagem":
                    Response.Redirect("~/Gerenciador/galeria/formImagem.aspx?codGaleria=" + strCodGaleria);
                    break;

                case "Excluir":

                    var objImagem = metGaleria.ListarImagens(Convert.ToInt32(strCodGaleria));

                    string path = Server.MapPath("~/Gerenciador/common/img_galeria/");

                    foreach (tb_imagem itemImagem in objImagem)
                    {
                        if (File.Exists(path + itemImagem.DS_NOME))
                        {
                            File.Delete(path + itemImagem.DS_NOME);
                        }

                        metGaleria.ExcluirImagem(Convert.ToInt32(itemImagem.CO_IMAGEM));
                    }

                    

                    


                    metGaleria.ExcluirGaleria(Convert.ToInt32(strCodGaleria));
                    CarregarGalerias();
                    lblMensagem.Text = util.MensagemCliente(3);
                    lblMensagem.Visible = true;
                    break;

                case "Status":
                    metGaleria.MudarStatus(Convert.ToInt32(strCodGaleria));
                    CarregarGalerias();
                    lblMensagem.Text = util.MensagemCliente(2);
                    lblMensagem.Visible = true;
                    break;
            }
        }
    }
}